# print("start....")
# f = open("test.txt")

# try:
#     print("start try.....")
#     a = 1/0
#     print("end try...")
# except IndexError as ie:
#     print("indexError",ie)
# except ZeroDivisionError as ze:
#     print("zero error",ze)
#
try:
    input1 = input("请输入一个0~100的整数：")
    if int(input1) > 100:
        raise IndexError
    a = [1,2,4]
    print(a[7])
    if int(input1) < 0:
        raise IndexError
except ValueError as V:
    print("输入的不是一个整数")
except RuntimeError as ru:
    print("输入的数字不在100以内")
except IndexError as In:
    print("输入的数字小于0")
print("ssss")

# try:
#     print("start。。")
#     a = [1,2,3.4,3]
#     print(type(a[1]))
# except IndexError:
#     print("IndexError")
# finally:
#     print("finally")

# def func1():
#     try:
#         a = "hello world"
#         try:
#             int(a)
#         except ValueError as e:
#             print("Value Error")
#             return "i am value error"
#         finally:
#             print("i am finally")
#         print("*"*20)
#         b = [1,2,3]
#         print(b[6])
#     except IndexError as msg:
#         print("Index Error")
#     finally:
#         print("i am index error finally")
#
# b = func1()


# python2与python3在输入输出上的差异
# 1.python2:
# >>> print("hello")
# hello
# >>> print "hello"
# hello
# >>> num1 = input("please input:")
# please input:3
# >>> type(num1)
# <type 'int'>
# >>> str1 = input("please input:")
# please input:'22ff'
# >>> type(str1)
# <type 'str'>
# >>> str2 = raw_input("please raw input:")
# please raw input:22
# >>> type(str2)
# <type 'str'>

# 输入：
# python3中的input得到的是str
# python2中的input默认为int,str要使用引号包裹，raw_input得到的是str

# 模块与包
# python2 包文件必须要有一个_ _init_ _.py 才能被识别成包目录
# python3 可以识别把普通目录识别成包，不一定需要_ _init_ _.py文件

# 编码
# python2 默认是ascii码
# python3 默认是utf——8编码

# 数值类型
# python2 有长整型
# python3 只有整型

# 运算符
# python2 中的除法是地板除法，转换为floa类型可以实现真正的除法
# python3 中的除法是真正的除法

# 字符串拼接
# python3 可以使用f标志位拼接，python2不可以

# range 与 xrange
# python2: range(0,4) -->结果：[0,1,2,3]
#          xrange(0,4) -->结果：可迭代对象（惰性求值，使用的时候再生产值）
# python3：没有xrange,所有的range都是采用惰性求值

# boolean类型
# python2 Ture、False 都没有定义成关键字
# python3 Ture、False 都是关键字

# 异常机制
# python2
# try:
#  ...
# except Exception , e
#  ....

# 字节码文件
# python3 存放在同级目录下的_ _pycache_ _ 文件夹
# python2 直接存放在同级目录下，.pyc结尾文件
#

# 在python2 中导入python3的模块
# from __future__ 把下一个版本的特性导入到当前版本
